<template>
    <nav class="navbar navbar-dark bg-primary justify-content-between mb-4 px-4">
        <router-link class="navbar-brand" to="/">者也专栏</router-link>
        <ul v-if="!user.isLogin" class="list-inline mb-0">
            <li class="list-inline-item"><router-link to="/login" class="btn btn-outline-light my-2">登陆</router-link></li>
            <li class="list-inline-item"><router-link to="/signup" class="btn btn-outline-light my-2">注册</router-link></li>
        </ul>
        <ul v-else class="list-inline mb-0">
            <dropdown :title="`你好 ${user.nickName}`">
                <dropdown-item><router-link to="/create" class="dropdown-item">新建文章</router-link></dropdown-item>
                <dropdown-item><router-link :to="`/column/${user.column}`" class="dropdown-item">我的专栏</router-link></dropdown-item>
                <dropdown-item><router-link to="/editProfile" class="dropdown-item">编辑资料</router-link></dropdown-item>
                <dropdown-item><a href="#" class="dropdown-item" @click="exit">退出登录</a></dropdown-item>
            </dropdown>
        </ul>
    </nav>
</template>

<script lang="ts">
import { defineComponent ,PropType} from 'vue'
import Dropdown from './Dropdown.vue'
import DropdownItem from './DropdownItem.vue'
import {UserProps} from '../store'
import store from '../store'

export default defineComponent({
    name:'GlobalHeader',
    components:{Dropdown,DropdownItem},
    props:{
        user:{
            type:Object as PropType<UserProps>,
            required:true
        }
    },
    setup(){
        //点击退出会执行该方法，调用store.ts文件中的mutations里的logout方法
        const exit=()=>{    
            store.commit('logout')
        }
        return {
            exit
        }
    }
})
</script>
